在介紹之前,我要先自我介紹一下啦!!我是一位軟體工程師,目前從事機器學習的開發,這是我第一次正式參加鐵人挑戰賽,為什麼說是正式呢?因為我去年是自我挑戰組,因為第一次總是會害怕嘛!!這次的內容為我這一年半所學習的經驗分享,可能有些內容會跟之前自我挑戰組的部分有點重疊,請多多指教。
基本介紹
從上面兩張圖可以看到,其實人工智慧這不是一個新的詞,這個詞早在1950年就出現了,這個詞意味著「希望機器可以跟人一樣聰明」。到了1980年開始又有一個新的詞出現了,就是機器學習,那什麼是機器學習呢?顧名思義就是讓機器去學習,而機器學習是達成人工智慧的一個手段,透過觀察不斷地學習,然後轉化成有用的技巧,讓機器可以跟人一樣聰明。深度學習就是機器學習的其中一種方式。
什麼是機器學習?
上面有提到,讓機器學習來完成目標;所以並不是寫程式讓它完成目標,而是寫程式讓它具有學習的能力。例如語音辨識,你告訴機器幾段聲音,並且告訴他相對應的意思(Hi, How are you, Good bye),讓它學習,當你再給它一段新的聲音時(Hello),它就能辨識出這段聲音的結果。
例如影像辨識,你想要辨識一棵樹,你可能寫了很多規則,檢查是不是綠色的,有沒有很多像葉子的形狀,寫了很多辨識樹的規則,但今天如果一棵樹枯掉了,樹葉是褐色,那就會失去辨識的能力。所以必須告訴機器樹的圖片及告訴它這就是樹,經過學習,即使一顆新的樹,它也能辨識出結果。
什麼情況下適合用機器學習?
並不是所有問題都能用機器學習解決,如果問題存在這三個關鍵的話,大致上就能用機器學習解決:
用理論方式描述機器學習
用銀行發信用卡給客戶為例子,把客戶的資料當作input: x, 是否發卡當作output: y。我們在上面有提到,機器學習要學到技巧,也就是f,但這個f是指理想上機器學習想學的,但我們不知道f。所以機器必須從大量的資料裡做學習,從客戶的歷史資料x,都能對應是否要發放信用卡給這個客戶。我們希望機器從中學習到一個函數g,我們希望這個g很接近f,銀行就能透過這個函數來判斷是否給客戶信用卡。